// 封装思路
// 导入asios
import axios from "axios"
// 1.在 utils 目录中，新建 index.js文件，在改文件中封装函数
// 2.创建并导出获取定位城市的函数 getCurrentCity
export const getCurrentCity = () =>{
// 3.判断 localStorage 中是否有定位城市
const localCity = JSON.parse(localStorage.getItem('hkzf_city'))
if(!localCity){
// 4.如果没有，就使用首页中获取定位城市的代码来获取，并存储到本地存储中，然后返回改城市的数据
   return new Promise((resolve,reject)=>{
       const curCity = new window.BMapGL.LocalCity()
       curCity.get(async res => {
        // 解决异步问题try{}catch{}
      try {
           const result = await axios.get(`http://localhost:8080/area/info?name=${res.name}`)
          // 存储到本地中
          localStorage.setItem('hkzf_city',JSON.stringify(result.data.body))
          // 返回该城市数据
          resolve(result.data.body)
      } catch (error) {
          reject(error)
      }
    })
   })
}
// 5.如果没有，直接返回本地存储中的城市数据,返回一个成功的Promise
return Promise.resolve(localCity)
}
export { API } from './api'
export { BASE_URL } from './url'
export * from './auth'
export * from './city'



